home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 60265 / 60265.xpi / chrome / content / pwdmgrOverlay.js < prev    next >
Text File  |  2010-02-09  |  3KB  |  89 lines

  1. /*
  2.     Saved Password Editor, extension for Firefox 3.0+
  3.     Copyright (C) 2010  Daniel Dawson <ddawson@icehouse.net>
  4.  
  5.     This program is free software: you can redistribute it and/or modify
  6.     it under the terms of the GNU General Public License as published by
  7.     the Free Software Foundation, either version 3 of the License, or
  8.     (at your option) any later version.
  9.  
  10.     This program is distributed in the hope that it will be useful,
  11.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.     GNU General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU General Public License
  16.     along with this program.  If not, see <http://www.gnu.org/licenses/>.
  17. */
  18.  
  19. window.addEventListener(
  20.   "load",
  21.   function loadHandler (ev) {
  22.     spEditor.strBundle = document.getElementById("savedpwdedit-stringbundle");
  23.     window.removeEventListener("load", loadHandler, false);
  24.   },
  25.   false);
  26.  
  27. document.getElementById("signonsTree").addEventListener(
  28.   "select",
  29.   function (ev) {
  30.     var selections = GetTreeSelections(signonsTree);
  31.     if (selections.length == 1 && !gSelectUserInUse)
  32.       document.getElementById("editSignon").disabled = false;
  33.     else
  34.       document.getElementById("editSignon").disabled = true;
  35.   },
  36.   false);
  37.  
  38. const spEditor = {
  39.   strBundle: null,
  40.   prefs: Components.classes["@mozilla.org/preferences-service;1"].
  41.          getService(Components.interfaces.nsIPrefService).
  42.          getBranch("extensions.savedpasswordeditor."),
  43.  
  44.   editSignon: function () {
  45.     var selections = GetTreeSelections(signonsTree);
  46.     if (selections.length != 1) return;
  47.  
  48.     if (this.prefs.getBoolPref("always_login")) {
  49.       var token = Components.classes["@mozilla.org/security/pk11tokendb;1"].
  50.                     createInstance(Components.interfaces.nsIPK11TokenDB).
  51.                     getInternalKeyToken();
  52.       if (!token.checkPassword("")) {
  53.         try {
  54.           token.login(true);
  55.         } catch (e) { }
  56.       }
  57.       if (!token.isLoggedIn()) return;
  58.     }
  59.  
  60.     var table =
  61.       signonsTreeView._filterSet.length ? signonsTreeView._filterSet : signons;
  62.     var signon = table[selections[0]];
  63.     var ret = { newSignon: null };
  64.     window.openDialog(
  65.       "chrome://savedpasswordeditor/content/pwdedit.xul", "",
  66.       "centerscreen,dependent,dialog,chrome,modal", signon, ret);
  67.     if (!ret.newSignon) return;
  68.     passwordmanager.modifyLogin(signon, ret.newSignon);
  69.     LoadSignons();
  70.   },
  71.  
  72.   newSignon: function () {
  73.     var ret = { newSignon: null };
  74.     window.openDialog(
  75.       "chrome://savedpasswordeditor/content/pwdedit.xul", "",
  76.       "centerscreen,dependent,dialog,chrome,modal", null, ret);
  77.     if (!ret.newSignon) return;
  78.     try {
  79.       passwordmanager.addLogin(ret.newSignon);
  80.       LoadSignons();
  81.     } catch (e) {
  82.       Components.classes["@mozilla.org/embedcomp/prompt-service;1"].
  83.         getService(Components.interfaces.nsIPromptService).
  84.         alert(window, this.strBundle.getString("error"),
  85.               this.strBundle.getFormattedString("badnewentry", [e.message]));
  86.     }
  87.   },
  88. }
  89.